package com.example.shop_2212.utils

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils
import com.example.base.net.Const

/**
 * ARouter登录拦截器
 */
@Interceptor(priority = 1)
class LoginInterceptor:IInterceptor {
    override fun init(context: Context?) {
        //初始化 ，不做处理
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        //对所有使用ARouter页面跳转的请求进行处理
        //当要跳转的界面需要登录（主页、详情页、搜索页面、支付等页面需要登录）
        //不需要登录的页面（登录页面，登录页面中要跳转的富文本页面）
        if("/app/LoginActivity".equals(postcard?.path)||"/app/LoginCodeActivity".equals(postcard?.path)
            ||"/app/WebViewActivity".equals(postcard?.path)||SPUtils.getInstance().getString(Const.SP_TOKEN).isNotEmpty()
        ){
            //直接跳转
            callback?.onContinue(postcard)
        }else{
            //跳转到登录页面
            ARouter.getInstance().build("/app/LoginCodeActivity").navigation()
        }
    }
}